@swagger-api/apidom-parser-adapter-asyncapi-json-2 1.9.0 → 1.10.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
+ # [1.10.0](https://github.com/swagger-api/apidom/compare/v1.9.0...v1.10.0) (2026-04-01)
7
+
8
+ **Note:** Version bump only for package @swagger-api/apidom-parser-adapter-asyncapi-json-2
9
+
6
10
  # [1.9.0](https://github.com/swagger-api/apidom/compare/v1.8.0...v1.9.0) (2026-03-30)
7
11
 
8
12
  **Note:** Version bump only for package @swagger-api/apidom-parser-adapter-asyncapi-json-2
@@ -18150,14 +18150,12 @@
18150
18150
 
18151
18151
  let parser = null;
18152
18152
  let parserInitLock = null;
18153
- let currentTree = null;
18153
+ const activeTrees = new Set();
18154
+ const MAX_ACTIVE_TREES = 5;
18154
18155
 
18155
18156
  /**
18156
18157
  * Lexical Analysis of source string using WebTreeSitter.
18157
18158
  * This is WebAssembly version of TreeSitters Lexical Analysis.
18158
- *
18159
- * Given JavaScript doesn't support true parallelism, this
18160
- * code should be as lazy as possible and temporal safety should be fine.
18161
18159
  * @public
18162
18160
  */
18163
18161
  const analyze$2 = async source => {
@@ -18178,9 +18176,28 @@
18178
18176
  } else if (parser === null) {
18179
18177
  throw new ApiDOMError('Error while initializing web-tree-sitter and loading tree-sitter-json grammar.');
18180
18178
  }
18181
- currentTree = parser.parse(source);
18179
+
18180
+ // prevent WASM OOM during concurrency spikes by evicting oldest trees
18181
+ // when the pool exceeds threshold; tree.delete() is idempotent so
18182
+ // callers that still hold a reference can safely call delete() again
18183
+ if (activeTrees.size >= MAX_ACTIVE_TREES) {
18184
+ const treesToEvict = [...activeTrees];
18185
+ activeTrees.clear();
18186
+ for (const oldTree of treesToEvict) {
18187
+ oldTree.delete();
18188
+ }
18189
+ }
18190
+ const tree = parser.parse(source);
18191
+ activeTrees.add(tree);
18192
+
18193
+ // remove from tracking when caller deletes
18194
+ const originalDelete = tree.delete;
18195
+ tree.delete = function deleteAndUntrack() {
18196
+ activeTrees.delete(this);
18197
+ originalDelete.call(this);
18198
+ };
18182
18199
  parser.reset();
18183
- return currentTree;
18200
+ return tree;
18184
18201
  };
18185
18202
 
18186
18203
  class TreeCursorSyntaxNode {
@@ -18834,13 +18851,17 @@
18834
18851
  if (!detectionRegExp$1.test(source)) {
18835
18852
  return false;
18836
18853
  }
18854
+ let cst = null;
18837
18855
  try {
18838
- const cst = await analyze$2(source);
18856
+ cst = await analyze$2(source);
18839
18857
  const isError = cst.rootNode.type !== 'ERROR';
18840
- cst.delete();
18841
18858
  return isError;
18842
18859
  } catch {
18843
18860
  return false;
18861
+ } finally {
18862
+ if (cst !== null) {
18863
+ cst.delete();
18864
+ }
18844
18865
  }
18845
18866
  };
18846
18867
 
@@ -18859,19 +18880,22 @@
18859
18880
  sourceMap = false,
18860
18881
  syntacticAnalysis = 'direct'
18861
18882
  } = {}) => {
18862
- const cst = await analyze$2(source);
18863
- let apiDOM;
18864
- if (syntacticAnalysis === 'indirect') {
18865
- apiDOM = analyze(cst, {
18866
- sourceMap
18867
- });
18868
- } else {
18869
- apiDOM = analyze$1(cst, {
18883
+ let cst = null;
18884
+ try {
18885
+ cst = await analyze$2(source);
18886
+ if (syntacticAnalysis === 'indirect') {
18887
+ return analyze(cst, {
18888
+ sourceMap
18889
+ });
18890
+ }
18891
+ return analyze$1(cst, {
18870
18892
  sourceMap
18871
18893
  });
18894
+ } finally {
18895
+ if (cst !== null) {
18896
+ cst.delete();
18897
+ }
18872
18898
  }
18873
- cst.delete();
18874
- return apiDOM;
18875
18899
  };
18876
18900
 
18877
18901
  /**
@@ -23155,6 +23179,12 @@
23155
23179
  set headers(headers) {
23156
23180
  this.set('headers', headers);
23157
23181
  }
23182
+ get statusCode() {
23183
+ return this.get('statusCode');
23184
+ }
23185
+ set statusCode(statusCode) {
23186
+ this.set('statusCode', statusCode);
23187
+ }
23158
23188
  get bindingVersion() {
23159
23189
  return this.get('bindingVersion');
23160
23190
  }
@@ -23474,6 +23504,12 @@
23474
23504
  set replicas(replicas) {
23475
23505
  this.set('replicas', replicas);
23476
23506
  }
23507
+ get topicConfiguration() {
23508
+ return this.get('topicConfiguration');
23509
+ }
23510
+ set topicConfiguration(topicConfiguration) {
23511
+ this.set('topicConfiguration', topicConfiguration);
23512
+ }
23477
23513
  get bindingVersion() {
23478
23514
  return this.get('bindingVersion');
23479
23515
  }
@@ -23645,6 +23681,30 @@
23645
23681
  this.element = 'mqttMessageBinding';
23646
23682
  this.classes.push('message-binding');
23647
23683
  }
23684
+ get payloadFormatIndicator() {
23685
+ return this.get('payloadFormatIndicator');
23686
+ }
23687
+ set payloadFormatIndicator(payloadFormatIndicator) {
23688
+ this.set('payloadFormatIndicator', payloadFormatIndicator);
23689
+ }
23690
+ get correlationData() {
23691
+ return this.get('correlationData');
23692
+ }
23693
+ set correlationData(correlationData) {
23694
+ this.set('correlationData', correlationData);
23695
+ }
23696
+ get contentType() {
23697
+ return this.get('contentType');
23698
+ }
23699
+ set contentType(contentType) {
23700
+ this.set('contentType', contentType);
23701
+ }
23702
+ get responseTopic() {
23703
+ return this.get('responseTopic');
23704
+ }
23705
+ set responseTopic(responseTopic) {
23706
+ this.set('responseTopic', responseTopic);
23707
+ }
23648
23708
  get bindingVersion() {
23649
23709
  return this.get('bindingVersion');
23650
23710
  }
@@ -23674,6 +23734,12 @@
23674
23734
  set retain(retain) {
23675
23735
  this.set('retain', retain);
23676
23736
  }
23737
+ get messageExpiryInterval() {
23738
+ return this.get('messageExpiryInterval');
23739
+ }
23740
+ set messageExpiryInterval(messageExpiryInterval) {
23741
+ this.set('messageExpiryInterval', messageExpiryInterval);
23742
+ }
23677
23743
  get bindingVersion() {
23678
23744
  return this.get('bindingVersion');
23679
23745
  }
@@ -23715,6 +23781,18 @@
23715
23781
  set keepAlive(keepAlive) {
23716
23782
  this.set('keepAlive', keepAlive);
23717
23783
  }
23784
+ get sessionExpiryInterval() {
23785
+ return this.get('sessionExpiryInterval');
23786
+ }
23787
+ set sessionExpiryInterval(sessionExpiryInterval) {
23788
+ this.set('sessionExpiryInterval', sessionExpiryInterval);
23789
+ }
23790
+ get maximumPacketSize() {
23791
+ return this.get('maximumPacketSize');
23792
+ }
23793
+ set maximumPacketSize(maximumPacketSize) {
23794
+ this.set('maximumPacketSize', maximumPacketSize);
23795
+ }
23718
23796
  get bindingVersion() {
23719
23797
  return this.get('bindingVersion');
23720
23798
  }
@@ -23992,6 +24070,36 @@
23992
24070
  this.element = 'snsChannelBinding';
23993
24071
  this.classes.push('channel-binding');
23994
24072
  }
24073
+ get name() {
24074
+ return this.get('name');
24075
+ }
24076
+ set name(name) {
24077
+ this.set('name', name);
24078
+ }
24079
+ get ordering() {
24080
+ return this.get('ordering');
24081
+ }
24082
+ set ordering(ordering) {
24083
+ this.set('ordering', ordering);
24084
+ }
24085
+ get policy() {
24086
+ return this.get('policy');
24087
+ }
24088
+ set policy(policy) {
24089
+ this.set('policy', policy);
24090
+ }
24091
+ get tags() {
24092
+ return this.get('tags');
24093
+ }
24094
+ set tags(tags) {
24095
+ this.set('tags', tags);
24096
+ }
24097
+ get bindingVersion() {
24098
+ return this.get('bindingVersion');
24099
+ }
24100
+ set bindingVersion(bindingVersion) {
24101
+ this.set('bindingVersion', bindingVersion);
24102
+ }
23995
24103
  }
23996
24104
 
23997
24105
  /**
@@ -24014,6 +24122,30 @@
24014
24122
  this.element = 'snsOperationBinding';
24015
24123
  this.classes.push('operation-binding');
24016
24124
  }
24125
+ get topic() {
24126
+ return this.get('topic');
24127
+ }
24128
+ set topic(topic) {
24129
+ this.set('topic', topic);
24130
+ }
24131
+ get consumers() {
24132
+ return this.get('consumers');
24133
+ }
24134
+ set consumers(consumers) {
24135
+ this.set('consumers', consumers);
24136
+ }
24137
+ get deliveryPolicy() {
24138
+ return this.get('deliveryPolicy');
24139
+ }
24140
+ set deliveryPolicy(deliveryPolicy) {
24141
+ this.set('deliveryPolicy', deliveryPolicy);
24142
+ }
24143
+ get bindingVersion() {
24144
+ return this.get('bindingVersion');
24145
+ }
24146
+ set bindingVersion(bindingVersion) {
24147
+ this.set('bindingVersion', bindingVersion);
24148
+ }
24017
24149
  }
24018
24150
 
24019
24151
  /**