jsgar 3.7.8 → 3.8.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.
Files changed (2) hide show
  1. package/dist/gar.umd.js +15 -7
  2. package/package.json +1 -1
package/dist/gar.umd.js CHANGED
@@ -362,11 +362,11 @@
362
362
 
363
363
  /**
364
364
  * Register handler for DeleteKey message.
365
- * @param {Function} handler - Callback with (keyId)
365
+ * @param {Function} handler - Callback with (keyId, keyName)
366
366
  * @param subscriptionGroup - The subscription group for callback (default 0)
367
367
  */
368
368
  registerDeleteKeyHandler(handler, subscriptionGroup = 0) {
369
- this.registerHandler('DeleteKey', (msg) => handler(msg.value.key_id), subscriptionGroup);
369
+ this.registerHandler('DeleteKey', (msg) => handler(msg.value.key_id, (msg.value && ('name' in msg.value)) ? msg.value.name : null), subscriptionGroup);
370
370
  }
371
371
 
372
372
  /**
@@ -459,8 +459,8 @@
459
459
  this.log('DEBUG', `New server topic: ${name} (Server ID: ${topicId})`));
460
460
  this.registerKeyIntroductionHandler((keyId, name, classList, deletedClass) =>
461
461
  this.log('DEBUG', `Key: ${name} : ${keyId} (Classes: ${JSON.stringify(classList)}/-${deletedClass})`));
462
- this.registerDeleteKeyHandler((keyId) =>
463
- this.log('DEBUG', `Delete key: ${this.serverKeyIdToName.get(keyId) || 'unknown'} (Server ID: ${keyId})`));
462
+ this.registerDeleteKeyHandler((keyId, keyName) =>
463
+ this.log('DEBUG', `Delete key: ${keyName || 'unknown'} (Server ID: ${keyId})`));
464
464
  this.registerSubscriptionStatusHandler(this._defaultSubscriptionStatusHandler.bind(this));
465
465
  this.registerDeleteRecordHandler((keyId, topicId) =>
466
466
  this.log('DEBUG', `Delete record: ${this.serverKeyIdToName.get(keyId) || 'unknown'} - ${this.serverTopicIdToName.get(topicId) || 'unknown'}`));
@@ -693,8 +693,16 @@
693
693
  this.serverKeyNameToId.set(message.value.name, message.value.key_id);
694
694
  } else if (msgType === 'DeleteKey') {
695
695
  subscriptionGroup = this.activeSubscriptionGroup;
696
- this.serverKeyNameToId.delete(this.serverKeyIdToName.get(message.value.key_id) || "");
697
- this.serverKeyIdToName.delete(message.value.key_id);
696
+ const keyId = message.value.key_id;
697
+ const keyName = this.serverKeyIdToName.get(keyId) || null;
698
+ message.value.name = keyName;
699
+ if (keyName) {
700
+ this.serverKeyNameToId.delete(keyName);
701
+ } else {
702
+ // Ensure 'name' field exists even if unknown
703
+ if (!('name' in message.value)) message.value.name = null;
704
+ }
705
+ this.serverKeyIdToName.delete(keyId);
698
706
  } else if (msgType === 'Heartbeat') {
699
707
  this.lastHeartbeatTime = Date.now() / 1000;
700
708
  if (this._initialGracePeriod) {
@@ -917,7 +925,7 @@
917
925
  // Convert keyName to array
918
926
  let keyNames = [];
919
927
  if (typeof keyName === 'string') {
920
- keyNames = keyName.split(/\s+/).filter(Boolean);
928
+ keyNames = [keyName];
921
929
  } else if (Array.isArray(keyName)) {
922
930
  keyNames = keyName;
923
931
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsgar",
3
- "version": "3.7.8",
3
+ "version": "3.8.1",
4
4
  "description": "A Javascript client for the GAR protocol",
5
5
  "type": "module",
6
6
  "main": "dist/gar.umd.js",