From ac3461bbe11468f9d7c7e1f2d5536ffa811a2b07 Mon Sep 17 00:00:00 2001
From: Chinmay Pendharkar <notthetup@gmail.com>
Date: Tue, 16 Jan 2024 14:44:52 +0800
Subject: [PATCH] feat(fjage.js): changing agentsForService to also reject
 promise if no response

---
 gateways/js/src/fjage.js | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/gateways/js/src/fjage.js b/gateways/js/src/fjage.js
index 0158e30c..18b8a3b3 100644
--- a/gateways/js/src/fjage.js
+++ b/gateways/js/src/fjage.js
@@ -728,7 +728,11 @@ export class Gateway {
   async agentForService(service) {
     let rq = { action: 'agentForService', service: service };
     let rsp = await this._msgTxRx(rq);
-    if (!rsp || !rsp.agentID) return;
+    if (!rsp) {
+      if (this._returnNullOnError) return null;
+      else throw new Error('Unable to get agent for service');
+    }
+    if (!rsp.agentID) return null;
     return new AgentID(rsp.agentID, false, this);
   }
 
@@ -742,7 +746,11 @@ export class Gateway {
     let rq = { action: 'agentsForService', service: service };
     let rsp = await this._msgTxRx(rq);
     let aids = [];
-    if (!rsp || !Array.isArray(rsp.agentIDs)) return aids;
+    if (!rsp) {
+      if (this._returnNullOnError) return aids;
+      else throw new Error('Unable to get agents for service');
+    }
+    if (!Array.isArray(rsp.agentIDs)) return aids;
     for (var i = 0; i < rsp.agentIDs.length; i++)
       aids.push(new AgentID(rsp.agentIDs[i], false, this));
     return aids;