e921d60f1d0e796f030d5b90c4a4ad3452c7f6a0
[aai/esr-gui.git] /
1 /*!
2  * Module dependencies.
3  */
4
5 var mongodb = require('mongodb');
6 var ReadPref = mongodb.ReadPreference;
7
8 /*!
9  * Converts arguments to ReadPrefs the driver
10  * can understand.
11  *
12  * @param {String|Array} pref
13  * @param {Array} [tags]
14  */
15
16 module.exports = function readPref(pref, tags) {
17   if (Array.isArray(pref)) {
18     tags = pref[1];
19     pref = pref[0];
20   }
21
22   if (pref instanceof ReadPref) {
23     return pref;
24   }
25
26   switch (pref) {
27     case 'p':
28       pref = 'primary';
29       break;
30     case 'pp':
31       pref = 'primaryPreferred';
32       break;
33     case 's':
34       pref = 'secondary';
35       break;
36     case 'sp':
37       pref = 'secondaryPreferred';
38       break;
39     case 'n':
40       pref = 'nearest';
41       break;
42   }
43
44   return new ReadPref(pref, tags);
45 };