thoughts/node_modules/mongoose/lib/drivers/node-mongodb-native/ReadPreference.js
node_modules/mongoose/lib/drivers/node-mongodb-native/ReadPreference.jsRaw
1/*!
2 * Module dependencies.
3 */
4
5var mongodb = require('mongodb');
6var 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
16module.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};