From ffd4a9a63d981b0bd46ecbca4fde401746cf5d9b Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Tue, 5 Jun 2018 18:26:30 +1000 Subject: [PATCH] Tighten conn.subscribe() argument checking --- lib/connection.js | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/lib/connection.js b/lib/connection.js index 361d6147d..396b9845e 100644 --- a/lib/connection.js +++ b/lib/connection.js @@ -325,27 +325,13 @@ pingPromisified = nodbUtil.promisify(ping); // create a subscription which can be used to get notifications of database // changes -function subscribe(name, a2, a3) { +function subscribe(name, options, subscribeCb) { var self = this; - var options = {}; - var subscribeCb; - nodbUtil.assert(arguments.length >= 2 && arguments.length <= 3, 'NJS-009'); + nodbUtil.assert(arguments.length == 3, 'NJS-009'); nodbUtil.assert(typeof name === 'string', 'NJS-006', 1); - - switch (arguments.length) { - case 2: - nodbUtil.assert(typeof a2 === 'function', 'NJS-006', 2); - subscribeCb = a2; - break; - case 3: - nodbUtil.assert(nodbUtil.isObject(a2), 'NJS-006', 2); - nodbUtil.assert(typeof a3 === 'function', 'NJS-006', 3); - options = a2; - subscribeCb = a3; - break; - } - + nodbUtil.assert(nodbUtil.isObject(options), 'NJS-006', 2); + nodbUtil.assert(typeof subscribeCb === 'function', 'NJS-006', 3); self._subscribe.call(self, name, options, subscribeCb); }