- * @param {Console} logger
- * @param {Object} options
- * @param {String} options.url
- * @param {Number=} options.prefetch
- * @param {Object=} options.socketOptions
- * @param {Boolean=} options.socketOptions.noDelay
- * @param {Number=} options.socketOptions.timeout
- * @param {Boolean=} options.socketOptions.keepAlive
- * @param {Number=} options.socketOptions.keepAliveDelay
- * @param {Object=} options.socketOptions.clientProperties
+ * @typedef {object} ConsoleLike
+ * @property {Function} debug log debug
+ * @property {Function} error log error
+ */
+ /**
+ * @param {ConsoleLike} logger logger instance
+ * @param {object} options options
+ * @param {string} options.url connection url
+ * @param {number=} options.prefetch prefetch
+ * @param {object=} options.socketOptions socket options
+ * @param {boolean=} options.socketOptions.noDelay no delay
+ * @param {number=} options.socketOptions.timeout timeout
+ * @param {boolean=} options.socketOptions.keepAlive keep alive
+ * @param {number=} options.socketOptions.keepAliveDelay keep alive delay
+ * @param {object=} options.socketOptions.clientProperties client properties