diff --git a/src/Publisher.js b/src/Publisher.js index 1fc1a6d..51c9793 100644 --- a/src/Publisher.js +++ b/src/Publisher.js @@ -1,5 +1,11 @@ import QueueMessage from './QueueMessage.js' +/** + * @typedef {import('./QueueConnection')} QueueConnection + * @typedef {import('amqplib').ConfirmChannel} ConfirmChannel + * @typedef {import('amqplib').QueueMessage} QueueMessage + */ + class Publisher { /** * @param {QueueConnection} queueConnection @@ -24,6 +30,7 @@ class Publisher { this._assertExchange = assertExchange === true this._assertExchangeOptions = Object.assign({ durable: true }, assertExchangeOptions) + /** @type {typeof QueueMessage} MessageModel - The class reference for the QueueMessage model. */ this.MessageModel = MessageModel this.ContentSchema = ContentSchema } @@ -31,8 +38,7 @@ class Publisher { /** * Overridden in queueClient to assertQueue instead of exchange * - * @param channel - * @returns {Promise} + * @param {ConfirmChannel} channel */ assertExchangeOrQueue (channel) { if (this._assertExchange) { diff --git a/src/QueueConnection.js b/src/QueueConnection.js index d8ff98b..238f9df 100644 --- a/src/QueueConnection.js +++ b/src/QueueConnection.js @@ -5,6 +5,7 @@ import EventEmitter from 'node:events' /** * @class QueueConnection + * @extends EventEmitter * */ class QueueConnection extends EventEmitter { /** @@ -26,7 +27,7 @@ class QueueConnection extends EventEmitter { } /** - * @return Promise + * @returns {Promise} * */ async connect () { if (this._connection) { @@ -157,7 +158,7 @@ class QueueConnection extends EventEmitter { } /** - * @return Promise + * @returns {Promise} * */ async getChannel () { if (this._channel) { diff --git a/src/RPCClient.js b/src/RPCClient.js index a474582..b617cb0 100644 --- a/src/RPCClient.js +++ b/src/RPCClient.js @@ -1,6 +1,11 @@ import { v4 as uuid } from 'uuid' import QueueMessage from './QueueMessage.js' +/** + * @typedef {import('./QueueConnection')} QueueConnection + * @typedef {import('./QueueMessage')} QueueMessage + */ + /** * A queue handler * @class RPCClient @@ -27,6 +32,7 @@ class RPCClient { exchangeOptions = {} } = options + /** @type {QueueConnection} */ this._connection = queueConnection this._logger = logger this.name = rpcName @@ -41,7 +47,9 @@ class RPCClient { this._rpcQueueMaxSize = queueMaxSize this._rpcTimeoutMs = timeoutMs + /** @type {typeof QueueMessage} RequestMessageModel - The class reference for the QueueMessage model. */ this.RequestMessageModel = RequestMessageModel + /** @type {typeof QueueMessage} ResponseMessageModel - The class reference for the QueueMessage model. */ this.ResponseMessageModel = ResponseMessageModel this.RequestContentSchema = RequestContentSchema this.ResponseContentSchema = ResponseContentSchema @@ -105,8 +113,9 @@ class RPCClient { * @param {Map} attachments * @param {Boolean} [resolveWithFullResponse=false] * @param {Object} sendOptions - * @return {Promise} - * */ + * @returns {Promise} + * @throws {Error} + */ async call (message, timeoutMs = null, attachments = null, resolveWithFullResponse = false, sendOptions = {}) { try { if (this._correlationIdMap.size > this._rpcQueueMaxSize) {